package com.chen.common.dataSource.property;

import lombok.Data;

/**
 * Druid 连接池配置
 * @author: Long
 * @date: 2023/9/8 22:55
 **/
@Data
public class DruidPoolProperty {

    /** 初始化大小 */
    private Integer initialSize;

    /** 最小连接数 */
    private Integer minIdle;

    /** 最大连接数 */
    private Integer maxActive;

    /** 超时等待，-1表示无限制 */
    private Integer maxWait;

    /** 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒 */
    private Integer timeBetweenEvictionRunsMillis;

    /** 配置一个连接在池中最小生存的时间，单位是毫秒 */
    private Integer minEvictableIdleTimeMillis;

    /** 检查连接有效性的SQL语句 */
    private String validationQuery;

    /** 缺省值-false，建议配置为true，不影响性能，并且保证安全性。申请连接的时候检测 */
    private Boolean testWhileIdle;

    /** 缺省值-true，申请连接时执行validationQuery检测连接是否有效，做了这个配置会降低性能 */
    private Boolean testOnBorrow;

    /** 缺省值-false，归还连接时执行validationQuery检测连接是否有效，做了这个配置会降低性能 */
    private Boolean testOnReturn;

    /** 用户名 */
    private String username;

    /** 密码 */
    private String password;
}
